技術文章
技術問答
My Project
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
文章
問答
Tag
邦友
鐵人賽
搜尋
2026 iThome 鐵人賽
DAY
13
0
IT Operation
從零開始的 Linux 維運與 Bash 自動化實戰 30 天
系列 第
13
篇
Day 13: Nginx Reverse Proxy 與網域轉發實作
18th鐵人賽
015
團隊
我跟對面一隊
2026-09-14 09:49:55
105 瀏覽
分享至
Forward Proxy (正向代理):代表「用戶端」(例如 VPN),幫你開門去存取外面的網站。
Reverse Proxy (反向代理):代表「伺服器端」,站在最前端接收流量,再依照網域或路徑分發給後端的 App(如 Node.js、Python 或 Docker 容器)。
反向代理的好處
隱藏後端真實 IP 與 Port:保護後端服務不直接暴露。
統一入口與 SSL 憑證:只需在 Nginx 設定 HTTPS 憑證,後端服務免重複設定。
負載平衡與快取:提高網站回應速度與穩定度。
Nginx 反向代理核心設定結構
Nginx 的站點設定通常放在 /etc/nginx/sites-available/ 目錄下
實作
建立背景測試服務與直連測試
主要指令:python3 -m http.server 8080 & 與 curl
http://127.0.0.1:8080
操作目的:在背景啟動一個監聽於 Port 8080 的 Python HTTP 伺服器,模擬後端應用程式,並透過 curl 確認該服務能正常回應目錄畫面。
編輯反向代理設定檔
主要指令:sudo nano /etc/nginx/sites-available/proxy.conf
操作目的:設定 Nginx 監聽 Port 80,並將 /proxy-test/ 路徑下的流量透過 proxy_pass
http://127.0.0.1:8080/
; 安全轉發給後端服務。
啟用設定、檢測語法與重新載入
主要指令:
sudo ln -s /etc/nginx/sites-available/proxy.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
操作目的:建立軟連結啟用站點設定,確認 Nginx 設定檔語法無誤(顯示 test is successful)後重新載入服務。
驗證反向代理轉發
主要指令:curl
http://localhost/proxy-test/
操作目的:透過 Port 80 發送 HTTP 請求給 Nginx 的 /proxy-test/ 子路徑。
解析:終端機印出 GET / HTTP/1.0 200 與 Python 伺服器產生的目錄 HTML 內容,證明流量已順利經由 Nginx 轉發給 Port 8080。
留言
追蹤
檢舉
上一篇
Day 12: UFW 防火牆設定與埠號控管
下一篇
Day 14 :綜合實務演練
系列文
從零開始的 Linux 維運與 Bash 自動化實戰 30 天
共
22
篇
目錄
RSS系列文
訂閱系列文
1
人訂閱
18
Day 18:Crontab 自動化排程管理與定時維運
19
Day 19:Shell Script 進階應用——自動化文字剖析與 Nginx 日誌分析
20
Day 20:Linux 伺服器安全初探——SSH 安全設定與防火牆(UFW)基礎
21
Day 21:系統資源即時監控與維運除錯工具(top / htop / systemctl)
22
Day 22:CI/CD 與自動化概念導入——從手動部署到 Git & GitHub 基礎
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
929
組
團體組數
32
組
累計文章數
12389
篇
完賽人數
154
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
18th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
熱門問題
六個語言的 README,要一比一翻完整,還是只寫到「裝得起來」就好?
「相容 MySQL 協議」的引擎,你們是怎麼做能力偵測的?我們試了 42 種,結論有點慘
熱門回答
六個語言的 README,要一比一翻完整,還是只寫到「裝得起來」就好?
熱門文章
Swift - 協議導向程式語言(Protocol-Oriented Programming, POP)
iThome 鐵人賽的連續 30 天發文挑戰 區塊鏈與資安實戰
CDN / WAF 源站真实 IP 泄漏与防护
桌面、手機、網站都要接 OAuth2 登入,能用同一套嗎?
[Machine Learning A-Z [2026] ] 學習筆記 Day17 Clustering K-means
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}